🎖️GitЯра🎖️
Commit 92deae785e3ef853f6758a8e550dcc163262914e
Parents : a029cff
Author : Phil Oliver <3497406+poliver@users.noreply.github.com>
Date : 2025-11-18T02:22:48-05:00
Pass filter down to NodeFilterTextField
Changes
2 files changed, 15 insertions(+), 25 deletions(-)
Diff
diff --git a/feature/node/src/main/kotlin/org/meshtastic/feature/node/component/NodeFilterTextField.kt b/feature/node/src/main/kotlin/org/meshtastic/feature/node/component/NodeFilterTextField.kt
index ec9e8fcefc..9102be32e2 100644
--- a/feature/node/src/main/kotlin/org/meshtastic/feature/node/component/NodeFilterTextField.kt
+++ b/feature/node/src/main/kotlin/org/meshtastic/feature/node/component/NodeFilterTextField.kt
@@ -75,30 +75,30 @@ import org.meshtastic.core.strings.node_filter_title
import org.meshtastic.core.strings.node_sort_button
import org.meshtastic.core.strings.node_sort_title
import org.meshtastic.core.ui.theme.AppTheme
+import org.meshtastic.feature.node.list.NodeFilterState
@Suppress("LongParameterList")
@Composable
fun NodeFilterTextField(
modifier: Modifier = Modifier,
- filterText: String,
+ filterState: NodeFilterState,
onTextChange: (String) -> Unit,
currentSortOption: NodeSortOption,
onSortSelect: (NodeSortOption) -> Unit,
- includeUnknown: Boolean,
onToggleIncludeUnknown: () -> Unit,
- excludeInfrastructure: Boolean,
onToggleExcludeInfrastructure: () -> Unit,
- onlyOnline: Boolean,
onToggleOnlyOnline: () -> Unit,
- onlyDirect: Boolean,
onToggleOnlyDirect: () -> Unit,
- showIgnored: Boolean,
onToggleShowIgnored: () -> Unit,
ignoredNodeCount: Int,
) {
Column(modifier = modifier.background(MaterialTheme.colorScheme.background)) {
Row {
- NodeFilterTextField(filterText = filterText, onTextChange = onTextChange, modifier = Modifier.weight(1f))
+ NodeFilterTextField(
+ filterText = filterState.filterText,
+ onTextChange = onTextChange,
+ modifier = Modifier.weight(1f),
+ )
NodeSortButton(
modifier = Modifier.align(Alignment.CenterVertically),
@@ -106,21 +106,21 @@ fun NodeFilterTextField(
onSortSelect = onSortSelect,
toggles =
NodeFilterToggles(
- includeUnknown = includeUnknown,
+ includeUnknown = filterState.includeUnknown,
onToggleIncludeUnknown = onToggleIncludeUnknown,
- excludeInfrastructure = excludeInfrastructure,
+ excludeInfrastructure = filterState.excludeInfrastructure,
onToggleExcludeInfrastructure = onToggleExcludeInfrastructure,
- onlyOnline = onlyOnline,
+ onlyOnline = filterState.onlyOnline,
onToggleOnlyOnline = onToggleOnlyOnline,
- onlyDirect = onlyDirect,
+ onlyDirect = filterState.onlyDirect,
onToggleOnlyDirect = onToggleOnlyDirect,
- showIgnored = showIgnored,
+ showIgnored = filterState.showIgnored,
onToggleShowIgnored = onToggleShowIgnored,
ignoredNodeCount = ignoredNodeCount,
),
)
}
- if (showIgnored) {
+ if (filterState.showIgnored) {
Box(
modifier =
Modifier.fillMaxWidth()
@@ -303,19 +303,14 @@ private fun DropdownMenuCheck(
private fun NodeFilterTextFieldPreview() {
AppTheme {
NodeFilterTextField(
- filterText = "Filter text",
+ filterState = NodeFilterState(),
onTextChange = {},
currentSortOption = NodeSortOption.LAST_HEARD,
onSortSelect = {},
- includeUnknown = false,
onToggleIncludeUnknown = {},
- excludeInfrastructure = false,
onToggleExcludeInfrastructure = {},
- onlyOnline = false,
onToggleOnlyOnline = {},
- onlyDirect = false,
onToggleOnlyDirect = {},
- showIgnored = false,
onToggleShowIgnored = {},
ignoredNodeCount = 0,
)
diff --git a/feature/node/src/main/kotlin/org/meshtastic/feature/node/list/NodeListScreen.kt b/feature/node/src/main/kotlin/org/meshtastic/feature/node/list/NodeListScreen.kt
index b8c188e9b1..18b493173b 100644
--- a/feature/node/src/main/kotlin/org/meshtastic/feature/node/list/NodeListScreen.kt
+++ b/feature/node/src/main/kotlin/org/meshtastic/feature/node/list/NodeListScreen.kt
@@ -153,21 +153,16 @@ fun NodeListScreen(
.graphicsLayer(alpha = animatedAlpha)
.background(MaterialTheme.colorScheme.surfaceDim)
.padding(8.dp),
- filterText = state.filter.filterText,
+ filterState = state.filter,
onTextChange = { viewModel.setFilterText(it) },
currentSortOption = state.sort,
onSortSelect = viewModel::setSortOption,
- includeUnknown = state.filter.includeUnknown,
onToggleIncludeUnknown = { viewModel.nodeFilterPreferences.toggleIncludeUnknown() },
- excludeInfrastructure = state.filter.excludeInfrastructure,
onToggleExcludeInfrastructure = {
viewModel.nodeFilterPreferences.toggleExcludeInfrastructure()
},
- onlyOnline = state.filter.onlyOnline,
onToggleOnlyOnline = { viewModel.nodeFilterPreferences.toggleOnlyOnline() },
- onlyDirect = state.filter.onlyDirect,
onToggleOnlyDirect = { viewModel.nodeFilterPreferences.toggleOnlyDirect() },
- showIgnored = state.filter.showIgnored,
onToggleShowIgnored = { viewModel.nodeFilterPreferences.toggleShowIgnored() },
ignoredNodeCount = state.ignoredNodeCount,
)
Served by rngit 1.5.0 - Generated in 0.13s